大一点的项目定时任务管理自然是用xxl-job但是小的单体项目引入一个需要单独布的xxl-job就有点那个了
目的
- Spring Scheduled注解任务可视化
- 记录任务执行记录,并可视化
- 启停/触发 Scheduled注解任务
- 恢复任务时可调整Cron表达式或fixed时间
轻量/简洁
- 不引入数据库
- 不引入多余的类
- 只关注Scheduled注解,且不改变底层机制,不重写执行框架
- 尽量少用反射
实现方案
- Bean实例化,实现任务信息收集
- ScheduledAnnotationBeanPostProcessor 结束后遍历 scheduledTaskRegistrar
- aop切Scheduled 实现任务执行记录
- 调整ScheduledTaskRegistrar的任务列表实现启停
已基本写完
- 怎么拆分打包到mavan是个问题